package com.lhkj.ct.meta.modules.gauge.model.entity;

import com.baomidou.mybatisplus.annotation.FieldFill;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableLogic;
import com.lhkj.ct.base.enums.DeleteStatus;
import com.lhkj.ct.base.enums.GlobalStatus;
import com.lhkj.ct.meta.modules.gauge.common.enums.DiagItemType;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.EqualsAndHashCode;

import javax.validation.constraints.NotBlank;
import javax.validation.constraints.NotNull;
import java.io.Serializable;
import java.time.LocalDateTime;

/**
 * <p>
 * 医嘱项目
 * </p>
 *
 * @author jobob
 * @since 2023-11-02
 */
@Data
@EqualsAndHashCode(callSuper = false)
@ApiModel(value="TblDiagItem对象", description="医嘱项目")
public class TblDiagItem implements Serializable {

    private static final long serialVersionUID = 1L;

    @ApiModelProperty(value = "医嘱项目id")
    private String id;

    @NotBlank(message = "项目编码不能为空")
    @ApiModelProperty(value = "项目唯一编码")
    private String itemCode;

    @NotBlank(message = "项目名称不能为空")
    @ApiModelProperty(value = "项目名称")
    private String itemName;

    @NotNull(message = "项目类型不能为空")
    @ApiModelProperty(value = "项目类型")
    private DiagItemType itemType;

    @ApiModelProperty(value = "项目简称")
    private String itemAbbrName;

    @ApiModelProperty(value = "拼音简码")
    private String pyCode;

    @ApiModelProperty(value = "五笔简码")
    private String wbCode;

    @ApiModelProperty(value = "排序")
    private Integer sort;

    @NotNull(message = "状态不能为null")
    @ApiModelProperty(value = "状态 0.正常 1.禁用")
    private GlobalStatus status;

    @TableField(fill = FieldFill.INSERT)
    @TableLogic
    @ApiModelProperty(value = "删除状态 0.未删除 1.已删除")
    private DeleteStatus delFlag;

    @TableField(fill = FieldFill.INSERT)
    @ApiModelProperty(value = "创建人")
    private String createBy;

    @TableField(fill = FieldFill.INSERT)
    @ApiModelProperty(value = "创建时间")
    private LocalDateTime createTime;

    @TableField(fill = FieldFill.UPDATE)
    @ApiModelProperty(value = "修改人")
    private String updateBy;

    @TableField(fill = FieldFill.UPDATE)
    @ApiModelProperty(value = "修改时间")
    private LocalDateTime updateTime;

}
